[INFO] fetching crate mybatis 2.0.4...
[INFO] testing mybatis-2.0.4 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate mybatis 2.0.4 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate mybatis 2.0.4
[INFO] finished tweaking crates.io crate mybatis 2.0.4
[INFO] tweaked toml for crates.io crate mybatis 2.0.4 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate mybatis 2.0.4 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 331 packages to latest compatible versions
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.10.0)
[INFO] [stderr]       Adding uuid v0.8.2 (available: v1.23.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7bbbade90afdb29cb0312c311c77cbd9fd976c8756ce6dfb01519381bbdea70a
[INFO] running `Command { std: "docker" "start" "-a" "7bbbade90afdb29cb0312c311c77cbd9fd976c8756ce6dfb01519381bbdea70a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7bbbade90afdb29cb0312c311c77cbd9fd976c8756ce6dfb01519381bbdea70a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bbbade90afdb29cb0312c311c77cbd9fd976c8756ce6dfb01519381bbdea70a", kill_on_drop: false }`
[INFO] [stdout] 7bbbade90afdb29cb0312c311c77cbd9fd976c8756ce6dfb01519381bbdea70a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ebd6ccfd890b33be2fe8ff297849a714b8a3c511e6ef4d51ce7193c24e5dc336
[INFO] running `Command { std: "docker" "start" "-a" "ebd6ccfd890b33be2fe8ff297849a714b8a3c511e6ef4d51ce7193c24e5dc336", kill_on_drop: false }`
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling const-oid v0.7.1
[INFO] [stderr]    Compiling crypto-bigint v0.3.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling num-bigint v0.3.3
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling const_fn v0.4.12
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.24.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling time v0.2.27
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling time-macros-impl v0.1.2
[INFO] [stderr]    Compiling rust_decimal v1.41.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling pem-rfc7468 v0.3.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling der v0.5.1
[INFO] [stderr]    Compiling time-macros v0.1.1
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling dirs-sys v0.3.7
[INFO] [stderr]    Compiling crc-catalog v1.1.1
[INFO] [stderr]    Compiling crc v2.1.0
[INFO] [stderr]    Compiling dirs v4.0.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling hashlink v0.7.0
[INFO] [stderr]    Compiling futures-intrusive v0.4.2
[INFO] [stderr]    Compiling flume v0.10.14
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling sha-1 v0.10.1
[INFO] [stderr]    Compiling spki v0.5.4
[INFO] [stderr]    Compiling bigdecimal v0.2.2
[INFO] [stderr]    Compiling pkcs8 v0.8.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling pkcs1 v0.3.3
[INFO] [stderr]    Compiling sqlformat v0.1.8
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling atoi v0.4.0
[INFO] [stderr]    Compiling rsa v0.6.1
[INFO] [stderr]    Compiling serde_bytes v0.11.19
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]    Compiling ipnetwork v0.19.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rbson v2.0.5
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling html_parser v0.6.3
[INFO] [stderr]    Compiling webpki v0.21.4
[INFO] [stderr]    Compiling sct v0.6.1
[INFO] [stderr]    Compiling rustls v0.19.1
[INFO] [stderr]    Compiling webpki-roots v0.21.1
[INFO] [stderr]    Compiling mybatis-macro v2.0.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-rustls v0.22.0
[INFO] [stderr]    Compiling sqlx-rt v0.5.13
[INFO] [stderr]    Compiling sqlx-core v0.5.13
[INFO] [stderr]    Compiling mybatis-core v2.0.1
[INFO] [stderr]    Compiling mybatis-sql v2.0.1
[INFO] [stderr]    Compiling mybatis-util v2.0.0
[INFO] [stderr]    Compiling mybatis v2.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]  --> src/mybatis.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::de::DeserializeOwned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ser::Serialize`
[INFO] [stdout]  --> src/mybatis.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::ser::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/mybatis.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/mybatis.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cell::Cell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/mybatis.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/mybatis.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/mybatis.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MyBatisLogicDeletePlugin`
[INFO] [stdout]   --> src/mybatis.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::logic_delete::{LogicDelete, MyBatisLogicDeletePlugin};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IPageRequest`, `IPage`, and `Page`
[INFO] [stdout]   --> src/mybatis.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::page::{IPage, IPageRequest, MyBatisPagePlugin, Page, PagePlugin};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^^^^^^                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DBExecResult`, `DBPoolConn`, and `DBTx`
[INFO] [stdout]   --> src/mybatis.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     DBExecResult, DBPool, DBPoolConn, DBPoolOptions, DBQuery, DBTx, DriverType,
[INFO] [stdout]    |     ^^^^^^^^^^^^          ^^^^^^^^^^                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_sql::PageLimit`
[INFO] [stdout]   --> src/mybatis.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use mybatis_sql::PageLimit;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_util::error_util::ToResult`
[INFO] [stdout]   --> src/mybatis.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mybatis_util::error_util::ToResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DBPool`
[INFO] [stdout]   --> src/executor.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use mybatis_core::db::{DBPool, DBPoolConn, DBQuery, DBTx};
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTimeNative` and `Format`
[INFO] [stdout]   --> src/executor.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | use mybatis_core::{DateTimeNative, Format};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rbson::spec::BinarySubtype`
[INFO] [stdout]   --> src/executor.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rbson::spec::BinarySubtype;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]   --> src/executor.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::{Serialize, Serializer};
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/intercept.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/log.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/log.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/logic_delete.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rbson::Bson`
[INFO] [stdout]  --> src/logic_delete.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rbson::Bson;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MybatisPlus` and `Skip`
[INFO] [stdout]  --> src/logic_delete.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::plus::{MybatisPlus, Skip};
[INFO] [stdout]   |                   ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_sql::rule::SqlRule`
[INFO] [stdout]  --> src/logic_delete.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use mybatis_sql::rule::SqlRule;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> src/logic_delete.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Deserializer`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/logic_delete.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/logic_delete.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]   --> src/logic_delete.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::marker::PhantomData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> src/logic_delete.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/page.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/page.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_core::future::BoxFuture`
[INFO] [stdout]  --> src/page.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures_core::future::BoxFuture;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]  --> src/page.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::de::DeserializeOwned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PageLimit`
[INFO] [stdout]   --> src/page.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use mybatis_sql::{PageLimit, TEMPLATE};
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashSet`, `LinkedList`, and `VecDeque`
[INFO] [stdout]  --> src/plus.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap, HashSet, LinkedList, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^           ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/snowflake.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/wrapper.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/wrapper.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/wrapper.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_core::Error`
[INFO] [stdout]   --> src/wrapper.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use mybatis_core::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/object_id.rs:131:53
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let naive_datetime = chrono::NaiveDateTime::from_timestamp(seconds_since_epoch as i64, 0);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/object_id.rs:132:66
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let timestamp: chrono::DateTime<Utc> = chrono::DateTime::from_utc(naive_datetime, Utc);
[INFO] [stdout]     |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::plus::MybatisPlus`
[INFO] [stdout]  --> src/intercept.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::plus::MybatisPlus;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/plus.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/plus.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResultCodec`
[INFO] [stdout]   --> src/plus.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use mybatis_core::convert::{ResultCodec, StmtConvert};
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> src/intercept.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         is_prepared_sql: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> src/intercept.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rb: &Mybatis,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/intercept.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         args: &mut Vec<Bson>,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> src/intercept.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         is_prepared_sql: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> src/intercept.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         rb: &Mybatis,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/intercept.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         args: &mut Vec<Bson>,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> src/intercept.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         is_prepared_sql: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]   --> src/logic_delete.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         driver_type: &DriverType,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `plugin`
[INFO] [stdout]    --> src/page.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new_plugin(plugin: String, page_no: u64, page_size: u64, total: u64) -> Self {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/page.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 337 |         args: &Vec<Bson>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/page.rs:394:9
[INFO] [stdout]     |
[INFO] [stdout] 394 |         args: &Vec<Bson>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]    --> src/plus.rs:150:16
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn formats(driver_type: DriverType) -> HashMap<String, String> {
[INFO] [stdout]     |                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]    --> src/plus.rs:530:13
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let driver_type = self.driver_type().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_version`
[INFO] [stdout]    --> src/plus.rs:616:13
[INFO] [stdout]     |
[INFO] [stdout] 616 |         let old_version = rbson::Bson::Null;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_null`
[INFO] [stdout]    --> src/plus.rs:650:17
[INFO] [stdout]     |
[INFO] [stdout] 650 |             let is_null = v.is_null();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_null`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]    --> src/plus.rs:926:9
[INFO] [stdout]     |
[INFO] [stdout] 926 |     let driver_type = rb.driver_type().unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]    --> src/wrapper.rs:240:25
[INFO] [stdout]     |
[INFO] [stdout] 240 |             Bson::Array(ref arr) => {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:605:25
[INFO] [stdout]     |
[INFO] [stdout] 605 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:635:25
[INFO] [stdout]     |
[INFO] [stdout] 635 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:665:25
[INFO] [stdout]     |
[INFO] [stdout] 665 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:695:25
[INFO] [stdout]     |
[INFO] [stdout] 695 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_left_insert_where` is never used
[INFO] [stdout]    --> src/plus.rs:880:4
[INFO] [stdout]     |
[INFO] [stdout] 880 | fn make_left_insert_where(insert_sql: &str, where_sql: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/mybatis.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.pool.set(pool);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let _ = self.pool.set(pool);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/mybatis.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |         self.pool.set(pool);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let _ = self.pool.set(pool);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mybatis.rs:231:24
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn as_executor(&self) -> MyBatisExecutor {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |         |
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn as_executor(&self) -> MyBatisExecutor<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/wrapper.rs:865:9
[INFO] [stdout]     |
[INFO] [stdout] 865 |         self.sql.write_fmt(format_args!("{}", limit));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 865 |         let _ = self.sql.write_fmt(format_args!("{}", limit));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-core v0.5.13
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "ebd6ccfd890b33be2fe8ff297849a714b8a3c511e6ef4d51ce7193c24e5dc336", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebd6ccfd890b33be2fe8ff297849a714b8a3c511e6ef4d51ce7193c24e5dc336", kill_on_drop: false }`
[INFO] [stdout] ebd6ccfd890b33be2fe8ff297849a714b8a3c511e6ef4d51ce7193c24e5dc336
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 91a0c3a94d9d8f748bc288dc864b55a11a8e453dee34a16575b0975bab7762ce
[INFO] running `Command { std: "docker" "start" "-a" "91a0c3a94d9d8f748bc288dc864b55a11a8e453dee34a16575b0975bab7762ce", kill_on_drop: false }`
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]  --> src/mybatis.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::de::DeserializeOwned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ser::Serialize`
[INFO] [stdout]  --> src/mybatis.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::ser::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/mybatis.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/mybatis.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cell::Cell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/mybatis.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/mybatis.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/mybatis.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MyBatisLogicDeletePlugin`
[INFO] [stdout]   --> src/mybatis.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::logic_delete::{LogicDelete, MyBatisLogicDeletePlugin};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IPageRequest`, `IPage`, and `Page`
[INFO] [stdout]   --> src/mybatis.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::page::{IPage, IPageRequest, MyBatisPagePlugin, Page, PagePlugin};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^^^^^^                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DBExecResult`, `DBPoolConn`, and `DBTx`
[INFO] [stdout]   --> src/mybatis.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     DBExecResult, DBPool, DBPoolConn, DBPoolOptions, DBQuery, DBTx, DriverType,
[INFO] [stdout]    |     ^^^^^^^^^^^^          ^^^^^^^^^^                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_sql::PageLimit`
[INFO] [stdout]   --> src/mybatis.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use mybatis_sql::PageLimit;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_util::error_util::ToResult`
[INFO] [stdout]   --> src/mybatis.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mybatis_util::error_util::ToResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DBPool`
[INFO] [stdout]   --> src/executor.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use mybatis_core::db::{DBPool, DBPoolConn, DBQuery, DBTx};
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTimeNative` and `Format`
[INFO] [stdout]   --> src/executor.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | use mybatis_core::{DateTimeNative, Format};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rbson::spec::BinarySubtype`
[INFO] [stdout]   --> src/executor.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rbson::spec::BinarySubtype;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]   --> src/executor.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::{Serialize, Serializer};
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/intercept.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/log.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/log.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/logic_delete.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rbson::Bson`
[INFO] [stdout]  --> src/logic_delete.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rbson::Bson;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MybatisPlus` and `Skip`
[INFO] [stdout]  --> src/logic_delete.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::plus::{MybatisPlus, Skip};
[INFO] [stdout]   |                   ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_sql::rule::SqlRule`
[INFO] [stdout]  --> src/logic_delete.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use mybatis_sql::rule::SqlRule;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> src/logic_delete.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Deserializer`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/logic_delete.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/logic_delete.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]   --> src/logic_delete.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::marker::PhantomData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> src/logic_delete.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/page.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/page.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_core::future::BoxFuture`
[INFO] [stdout]  --> src/page.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures_core::future::BoxFuture;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]  --> src/page.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::de::DeserializeOwned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PageLimit`
[INFO] [stdout]   --> src/page.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use mybatis_sql::{PageLimit, TEMPLATE};
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashSet`, `LinkedList`, and `VecDeque`
[INFO] [stdout]  --> src/plus.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap, HashSet, LinkedList, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^           ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/snowflake.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/wrapper.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/wrapper.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/wrapper.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_core::Error`
[INFO] [stdout]   --> src/wrapper.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use mybatis_core::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/object_id.rs:131:53
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let naive_datetime = chrono::NaiveDateTime::from_timestamp(seconds_since_epoch as i64, 0);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/object_id.rs:132:66
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let timestamp: chrono::DateTime<Utc> = chrono::DateTime::from_utc(naive_datetime, Utc);
[INFO] [stdout]     |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::plus::MybatisPlus`
[INFO] [stdout]  --> src/intercept.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::plus::MybatisPlus;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/plus.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/plus.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResultCodec`
[INFO] [stdout]   --> src/plus.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use mybatis_core::convert::{ResultCodec, StmtConvert};
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> src/intercept.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         is_prepared_sql: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> src/intercept.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rb: &Mybatis,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/intercept.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         args: &mut Vec<Bson>,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> src/intercept.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         is_prepared_sql: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> src/intercept.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         rb: &Mybatis,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/intercept.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         args: &mut Vec<Bson>,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> src/intercept.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         is_prepared_sql: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]   --> src/logic_delete.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         driver_type: &DriverType,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mybatis v2.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `plugin`
[INFO] [stdout]    --> src/page.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new_plugin(plugin: String, page_no: u64, page_size: u64, total: u64) -> Self {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/page.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 337 |         args: &Vec<Bson>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/page.rs:394:9
[INFO] [stdout]     |
[INFO] [stdout] 394 |         args: &Vec<Bson>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]    --> src/plus.rs:150:16
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn formats(driver_type: DriverType) -> HashMap<String, String> {
[INFO] [stdout]     |                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]    --> src/plus.rs:530:13
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let driver_type = self.driver_type().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_version`
[INFO] [stdout]    --> src/plus.rs:616:13
[INFO] [stdout]     |
[INFO] [stdout] 616 |         let old_version = rbson::Bson::Null;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_null`
[INFO] [stdout]    --> src/plus.rs:650:17
[INFO] [stdout]     |
[INFO] [stdout] 650 |             let is_null = v.is_null();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_null`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]    --> src/plus.rs:926:9
[INFO] [stdout]     |
[INFO] [stdout] 926 |     let driver_type = rb.driver_type().unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]    --> src/wrapper.rs:240:25
[INFO] [stdout]     |
[INFO] [stdout] 240 |             Bson::Array(ref arr) => {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:605:25
[INFO] [stdout]     |
[INFO] [stdout] 605 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:635:25
[INFO] [stdout]     |
[INFO] [stdout] 635 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:665:25
[INFO] [stdout]     |
[INFO] [stdout] 665 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:695:25
[INFO] [stdout]     |
[INFO] [stdout] 695 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_left_insert_where` is never used
[INFO] [stdout]    --> src/plus.rs:880:4
[INFO] [stdout]     |
[INFO] [stdout] 880 | fn make_left_insert_where(insert_sql: &str, where_sql: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/mybatis.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.pool.set(pool);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let _ = self.pool.set(pool);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/mybatis.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |         self.pool.set(pool);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let _ = self.pool.set(pool);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mybatis.rs:231:24
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn as_executor(&self) -> MyBatisExecutor {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |         |
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn as_executor(&self) -> MyBatisExecutor<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/wrapper.rs:865:9
[INFO] [stdout]     |
[INFO] [stdout] 865 |         self.sql.write_fmt(format_args!("{}", limit));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 865 |         let _ = self.sql.write_fmt(format_args!("{}", limit));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]  --> src/mybatis.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::de::DeserializeOwned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ser::Serialize`
[INFO] [stdout]  --> src/mybatis.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::ser::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/mybatis.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/mybatis.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cell::Cell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/mybatis.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/mybatis.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/mybatis.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MyBatisLogicDeletePlugin`
[INFO] [stdout]   --> src/mybatis.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::logic_delete::{LogicDelete, MyBatisLogicDeletePlugin};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IPageRequest`, `IPage`, and `Page`
[INFO] [stdout]   --> src/mybatis.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::page::{IPage, IPageRequest, MyBatisPagePlugin, Page, PagePlugin};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^^^^^^                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DBExecResult`, `DBPoolConn`, and `DBTx`
[INFO] [stdout]   --> src/mybatis.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     DBExecResult, DBPool, DBPoolConn, DBPoolOptions, DBQuery, DBTx, DriverType,
[INFO] [stdout]    |     ^^^^^^^^^^^^          ^^^^^^^^^^                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_sql::PageLimit`
[INFO] [stdout]   --> src/mybatis.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use mybatis_sql::PageLimit;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_util::error_util::ToResult`
[INFO] [stdout]   --> src/mybatis.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mybatis_util::error_util::ToResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DBPool`
[INFO] [stdout]   --> src/executor.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use mybatis_core::db::{DBPool, DBPoolConn, DBQuery, DBTx};
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTimeNative` and `Format`
[INFO] [stdout]   --> src/executor.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | use mybatis_core::{DateTimeNative, Format};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rbson::spec::BinarySubtype`
[INFO] [stdout]   --> src/executor.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rbson::spec::BinarySubtype;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]   --> src/executor.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::{Serialize, Serializer};
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/intercept.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/log.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/log.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/logic_delete.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rbson::Bson`
[INFO] [stdout]  --> src/logic_delete.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rbson::Bson;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MybatisPlus` and `Skip`
[INFO] [stdout]  --> src/logic_delete.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::plus::{MybatisPlus, Skip};
[INFO] [stdout]   |                   ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_sql::rule::SqlRule`
[INFO] [stdout]  --> src/logic_delete.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use mybatis_sql::rule::SqlRule;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> src/logic_delete.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Deserializer`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/logic_delete.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/logic_delete.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]   --> src/logic_delete.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::marker::PhantomData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> src/logic_delete.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/page.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/page.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_core::future::BoxFuture`
[INFO] [stdout]  --> src/page.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures_core::future::BoxFuture;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]  --> src/page.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::de::DeserializeOwned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PageLimit`
[INFO] [stdout]   --> src/page.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use mybatis_sql::{PageLimit, TEMPLATE};
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashSet`, `LinkedList`, and `VecDeque`
[INFO] [stdout]  --> src/plus.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap, HashSet, LinkedList, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^           ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/plus.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/plus.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResultCodec`
[INFO] [stdout]   --> src/plus.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use mybatis_core::convert::{ResultCodec, StmtConvert};
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/snowflake.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/wrapper.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/wrapper.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/wrapper.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mybatis_core::Error`
[INFO] [stdout]   --> src/wrapper.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use mybatis_core::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/object_id.rs:131:53
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let naive_datetime = chrono::NaiveDateTime::from_timestamp(seconds_since_epoch as i64, 0);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/object_id.rs:132:66
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let timestamp: chrono::DateTime<Utc> = chrono::DateTime::from_utc(naive_datetime, Utc);
[INFO] [stdout]     |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]    --> src/object_id.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |         assert_eq!(Utc.ymd(1970, 1, 1).and_hms(0, 0, 0), id.timestamp());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]    --> src/object_id.rs:228:40
[INFO] [stdout]     |
[INFO] [stdout] 228 |         assert_eq!(Utc.ymd(1970, 1, 1).and_hms(0, 0, 0), id.timestamp());
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]    --> src/object_id.rs:232:24
[INFO] [stdout]     |
[INFO] [stdout] 232 |         assert_eq!(Utc.ymd(2038, 1, 19).and_hms(3, 14, 7), id.timestamp());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]    --> src/object_id.rs:232:41
[INFO] [stdout]     |
[INFO] [stdout] 232 |         assert_eq!(Utc.ymd(2038, 1, 19).and_hms(3, 14, 7), id.timestamp());
[INFO] [stdout]     |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]    --> src/object_id.rs:236:24
[INFO] [stdout]     |
[INFO] [stdout] 236 |         assert_eq!(Utc.ymd(2038, 1, 19).and_hms(3, 14, 8), id.timestamp());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]    --> src/object_id.rs:236:41
[INFO] [stdout]     |
[INFO] [stdout] 236 |         assert_eq!(Utc.ymd(2038, 1, 19).and_hms(3, 14, 8), id.timestamp());
[INFO] [stdout]     |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]    --> src/object_id.rs:240:24
[INFO] [stdout]     |
[INFO] [stdout] 240 |         assert_eq!(Utc.ymd(2106, 2, 7).and_hms(6, 28, 15), id.timestamp());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]    --> src/object_id.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |         assert_eq!(Utc.ymd(2106, 2, 7).and_hms(6, 28, 15), id.timestamp());
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::plus::MybatisPlus`
[INFO] [stdout]  --> src/intercept.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::plus::MybatisPlus;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> src/intercept.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         is_prepared_sql: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> src/intercept.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rb: &Mybatis,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/intercept.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         args: &mut Vec<Bson>,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> src/intercept.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         is_prepared_sql: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> src/intercept.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         rb: &Mybatis,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/intercept.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         args: &mut Vec<Bson>,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> src/intercept.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         is_prepared_sql: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]   --> src/logic_delete.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         driver_type: &DriverType,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `plugin`
[INFO] [stdout]    --> src/page.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new_plugin(plugin: String, page_no: u64, page_size: u64, total: u64) -> Self {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/page.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 337 |         args: &Vec<Bson>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/page.rs:394:9
[INFO] [stdout]     |
[INFO] [stdout] 394 |         args: &Vec<Bson>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]    --> src/plus.rs:150:16
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn formats(driver_type: DriverType) -> HashMap<String, String> {
[INFO] [stdout]     |                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]    --> src/plus.rs:530:13
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let driver_type = self.driver_type().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_version`
[INFO] [stdout]    --> src/plus.rs:616:13
[INFO] [stdout]     |
[INFO] [stdout] 616 |         let old_version = rbson::Bson::Null;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_null`
[INFO] [stdout]    --> src/plus.rs:650:17
[INFO] [stdout]     |
[INFO] [stdout] 650 |             let is_null = v.is_null();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_null`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver_type`
[INFO] [stdout]    --> src/plus.rs:926:9
[INFO] [stdout]     |
[INFO] [stdout] 926 |     let driver_type = rb.driver_type().unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]    --> src/wrapper.rs:240:25
[INFO] [stdout]     |
[INFO] [stdout] 240 |             Bson::Array(ref arr) => {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:605:25
[INFO] [stdout]     |
[INFO] [stdout] 605 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:635:25
[INFO] [stdout]     |
[INFO] [stdout] 635 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:665:25
[INFO] [stdout]     |
[INFO] [stdout] 665 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v_str` is never read
[INFO] [stdout]    --> src/wrapper.rs:695:25
[INFO] [stdout]     |
[INFO] [stdout] 695 |         let mut v_str = String::new();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_left_insert_where` is never used
[INFO] [stdout]    --> src/plus.rs:880:4
[INFO] [stdout]     |
[INFO] [stdout] 880 | fn make_left_insert_where(insert_sql: &str, where_sql: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/mybatis.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.pool.set(pool);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let _ = self.pool.set(pool);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/mybatis.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |         self.pool.set(pool);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let _ = self.pool.set(pool);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mybatis.rs:231:24
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn as_executor(&self) -> MyBatisExecutor {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |         |
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn as_executor(&self) -> MyBatisExecutor<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/wrapper.rs:865:9
[INFO] [stdout]     |
[INFO] [stdout] 865 |         self.sql.write_fmt(format_args!("{}", limit));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 865 |         let _ = self.sql.write_fmt(format_args!("{}", limit));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 10.08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-core v0.5.13
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "91a0c3a94d9d8f748bc288dc864b55a11a8e453dee34a16575b0975bab7762ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91a0c3a94d9d8f748bc288dc864b55a11a8e453dee34a16575b0975bab7762ce", kill_on_drop: false }`
[INFO] [stdout] 91a0c3a94d9d8f748bc288dc864b55a11a8e453dee34a16575b0975bab7762ce
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] baa8bec7d5e8093f24c3227a80f589e98433bb5371c35fc8bd8b4e40bba380f1
[INFO] running `Command { std: "docker" "start" "-a" "baa8bec7d5e8093f24c3227a80f589e98433bb5371c35fc8bd8b4e40bba380f1", kill_on_drop: false }`
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/lib.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/lib.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stderr]  --> src/mybatis.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use serde::de::DeserializeOwned;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::ser::Serialize`
[INFO] [stderr]  --> src/mybatis.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::ser::Serialize;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stderr]  --> src/mybatis.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::borrow::BorrowMut;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cell::Cell`
[INFO] [stderr]  --> src/mybatis.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::cell::Cell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/mybatis.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/mybatis.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uuid::Uuid`
[INFO] [stderr]   --> src/mybatis.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use uuid::Uuid;
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MyBatisLogicDeletePlugin`
[INFO] [stderr]   --> src/mybatis.rs:15:40
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::logic_delete::{LogicDelete, MyBatisLogicDeletePlugin};
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IPageRequest`, `IPage`, and `Page`
[INFO] [stderr]   --> src/mybatis.rs:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::page::{IPage, IPageRequest, MyBatisPagePlugin, Page, PagePlugin};
[INFO] [stderr]    |                   ^^^^^  ^^^^^^^^^^^^                     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DBExecResult`, `DBPoolConn`, and `DBTx`
[INFO] [stderr]   --> src/mybatis.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     DBExecResult, DBPool, DBPoolConn, DBPoolOptions, DBQuery, DBTx, DriverType,
[INFO] [stderr]    |     ^^^^^^^^^^^^          ^^^^^^^^^^                          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `mybatis_sql::PageLimit`
[INFO] [stderr]   --> src/mybatis.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | use mybatis_sql::PageLimit;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `mybatis_util::error_util::ToResult`
[INFO] [stderr]   --> src/mybatis.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | use mybatis_util::error_util::ToResult;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DBPool`
[INFO] [stderr]   --> src/executor.rs:13:24
[INFO] [stderr]    |
[INFO] [stderr] 13 | use mybatis_core::db::{DBPool, DBPoolConn, DBQuery, DBTx};
[INFO] [stderr]    |                        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DateTimeNative` and `Format`
[INFO] [stderr]   --> src/executor.rs:15:20
[INFO] [stderr]    |
[INFO] [stderr] 15 | use mybatis_core::{DateTimeNative, Format};
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rbson::spec::BinarySubtype`
[INFO] [stderr]   --> src/executor.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use rbson::spec::BinarySubtype;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Serializer`
[INFO] [stderr]   --> src/executor.rs:20:24
[INFO] [stderr]    |
[INFO] [stderr] 20 | use serde::{Serialize, Serializer};
[INFO] [stderr]    |                        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]  --> src/intercept.rs:9:23
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::fmt::{Debug, Display};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Deref`
[INFO] [stderr]  --> src/log.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::Deref;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]  --> src/log.rs:4:23
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fmt::{Debug, Display};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]  --> src/logic_delete.rs:1:23
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rbson::Bson`
[INFO] [stderr]  --> src/logic_delete.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rbson::Bson;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MybatisPlus` and `Skip`
[INFO] [stderr]  --> src/logic_delete.rs:5:19
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::plus::{MybatisPlus, Skip};
[INFO] [stderr]   |                   ^^^^^^^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `mybatis_sql::rule::SqlRule`
[INFO] [stderr]  --> src/logic_delete.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use mybatis_sql::rule::SqlRule;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stderr]   --> src/logic_delete.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use serde::de::DeserializeOwned;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize`, `Deserializer`, `Serialize`, and `Serializer`
[INFO] [stderr]   --> src/logic_delete.rs:11:13
[INFO] [stderr]    |
[INFO] [stderr] 11 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stderr]    |             ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/logic_delete.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::marker::PhantomData`
[INFO] [stderr]   --> src/logic_delete.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::marker::PhantomData;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stderr]   --> src/logic_delete.rs:14:16
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::ops::{Deref, DerefMut};
[INFO] [stderr]    |                ^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]  --> src/page.rs:2:23
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fmt::{Debug, Display};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::future::Future`
[INFO] [stderr]  --> src/page.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures_core::future::BoxFuture`
[INFO] [stderr]  --> src/page.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use futures_core::future::BoxFuture;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stderr]  --> src/page.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use serde::de::DeserializeOwned;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PageLimit`
[INFO] [stderr]   --> src/page.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 | use mybatis_sql::{PageLimit, TEMPLATE};
[INFO] [stderr]    |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BTreeMap`, `HashSet`, `LinkedList`, and `VecDeque`
[INFO] [stderr]  --> src/plus.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{BTreeMap, HashMap, HashSet, LinkedList, VecDeque};
[INFO] [stderr]   |                        ^^^^^^^^           ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> src/snowflake.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Formatter`
[INFO] [stderr]  --> src/wrapper.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::fmt::{Debug, Formatter};
[INFO] [stderr]   |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Add`
[INFO] [stderr]  --> src/wrapper.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::ops::Add;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Deserialize`
[INFO] [stderr]  --> src/wrapper.rs:9:13
[INFO] [stderr]   |
[INFO] [stderr] 9 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `mybatis_core::Error`
[INFO] [stderr]   --> src/wrapper.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use mybatis_core::Error;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stderr]    --> src/object_id.rs:131:53
[INFO] [stderr]     |
[INFO] [stderr] 131 |         let naive_datetime = chrono::NaiveDateTime::from_timestamp(seconds_since_epoch as i64, 0);
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stderr]    --> src/object_id.rs:132:66
[INFO] [stderr]     |
[INFO] [stderr] 132 |         let timestamp: chrono::DateTime<Utc> = chrono::DateTime::from_utc(naive_datetime, Utc);
[INFO] [stderr]     |                                                                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::plus::MybatisPlus`
[INFO] [stderr]  --> src/intercept.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::plus::MybatisPlus;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Display`
[INFO] [stderr]  --> src/plus.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fmt::Display;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]  --> src/plus.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::hash::Hash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ResultCodec`
[INFO] [stderr]   --> src/plus.rs:10:29
[INFO] [stderr]    |
[INFO] [stderr] 10 | use mybatis_core::convert::{ResultCodec, StmtConvert};
[INFO] [stderr]    |                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_prepared_sql`
[INFO] [stderr]   --> src/intercept.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |         is_prepared_sql: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rb`
[INFO] [stderr]   --> src/intercept.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |         rb: &Mybatis,
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> src/intercept.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 66 |         args: &mut Vec<Bson>,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_prepared_sql`
[INFO] [stderr]   --> src/intercept.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 67 |         is_prepared_sql: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rb`
[INFO] [stderr]   --> src/intercept.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 |         rb: &Mybatis,
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> src/intercept.rs:91:9
[INFO] [stderr]    |
[INFO] [stderr] 91 |         args: &mut Vec<Bson>,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_prepared_sql`
[INFO] [stderr]   --> src/intercept.rs:92:9
[INFO] [stderr]    |
[INFO] [stderr] 92 |         is_prepared_sql: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `driver_type`
[INFO] [stderr]   --> src/logic_delete.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |         driver_type: &DriverType,
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `plugin`
[INFO] [stderr]    --> src/page.rs:112:23
[INFO] [stderr]     |
[INFO] [stderr] 112 |     pub fn new_plugin(plugin: String, page_no: u64, page_size: u64, total: u64) -> Self {
[INFO] [stderr]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/page.rs:337:9
[INFO] [stderr]     |
[INFO] [stderr] 337 |         args: &Vec<Bson>,
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/page.rs:394:9
[INFO] [stderr]     |
[INFO] [stderr] 394 |         args: &Vec<Bson>,
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `driver_type`
[INFO] [stderr]    --> src/plus.rs:150:16
[INFO] [stderr]     |
[INFO] [stderr] 150 |     fn formats(driver_type: DriverType) -> HashMap<String, String> {
[INFO] [stderr]     |                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `driver_type`
[INFO] [stderr]    --> src/plus.rs:530:13
[INFO] [stderr]     |
[INFO] [stderr] 530 |         let driver_type = self.driver_type().unwrap();
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `old_version`
[INFO] [stderr]    --> src/plus.rs:616:13
[INFO] [stderr]     |
[INFO] [stderr] 616 |         let old_version = rbson::Bson::Null;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_version`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_null`
[INFO] [stderr]    --> src/plus.rs:650:17
[INFO] [stderr]     |
[INFO] [stderr] 650 |             let is_null = v.is_null();
[INFO] [stderr]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_null`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `driver_type`
[INFO] [stderr]    --> src/plus.rs:926:9
[INFO] [stderr]     |
[INFO] [stderr] 926 |     let driver_type = rb.driver_type().unwrap();
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arr`
[INFO] [stderr]    --> src/wrapper.rs:240:25
[INFO] [stderr]     |
[INFO] [stderr] 240 |             Bson::Array(ref arr) => {
[INFO] [stderr]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `v_str` is never read
[INFO] [stderr]    --> src/wrapper.rs:605:25
[INFO] [stderr]     |
[INFO] [stderr] 605 |         let mut v_str = String::new();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `v_str` is never read
[INFO] [stderr]    --> src/wrapper.rs:635:25
[INFO] [stderr]     |
[INFO] [stderr] 635 |         let mut v_str = String::new();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `v_str` is never read
[INFO] [stderr]    --> src/wrapper.rs:665:25
[INFO] [stderr]     |
[INFO] [stderr] 665 |         let mut v_str = String::new();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `v_str` is never read
[INFO] [stderr]    --> src/wrapper.rs:695:25
[INFO] [stderr]     |
[INFO] [stderr] 695 |         let mut v_str = String::new();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_left_insert_where` is never used
[INFO] [stderr]    --> src/plus.rs:880:4
[INFO] [stderr]     |
[INFO] [stderr] 880 | fn make_left_insert_where(insert_sql: &str, where_sql: &str) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/mybatis.rs:148:9
[INFO] [stderr]     |
[INFO] [stderr] 148 |         self.pool.set(pool);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 148 |         let _ = self.pool.set(pool);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/mybatis.rs:162:9
[INFO] [stderr]     |
[INFO] [stderr] 162 |         self.pool.set(pool);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 162 |         let _ = self.pool.set(pool);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/mybatis.rs:231:24
[INFO] [stderr]     |
[INFO] [stderr] 231 |     pub fn as_executor(&self) -> MyBatisExecutor {
[INFO] [stderr]     |                        ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                        |         |
[INFO] [stderr]     |                        |         the same lifetime is hidden here
[INFO] [stderr]     |                        |         the same lifetime is hidden here
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 231 |     pub fn as_executor(&self) -> MyBatisExecutor<'_> {
[INFO] [stderr]     |                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/wrapper.rs:865:9
[INFO] [stderr]     |
[INFO] [stderr] 865 |         self.sql.write_fmt(format_args!("{}", limit));
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 865 |         let _ = self.sql.write_fmt(format_args!("{}", limit));
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stderr]    --> src/object_id.rs:228:24
[INFO] [stderr]     |
[INFO] [stderr] 228 |         assert_eq!(Utc.ymd(1970, 1, 1).and_hms(0, 0, 0), id.timestamp());
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stderr]    --> src/object_id.rs:228:40
[INFO] [stderr]     |
[INFO] [stderr] 228 |         assert_eq!(Utc.ymd(1970, 1, 1).and_hms(0, 0, 0), id.timestamp());
[INFO] [stderr]     |                                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stderr]    --> src/object_id.rs:232:24
[INFO] [stderr]     |
[INFO] [stderr] 232 |         assert_eq!(Utc.ymd(2038, 1, 19).and_hms(3, 14, 7), id.timestamp());
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stderr]    --> src/object_id.rs:232:41
[INFO] [stderr]     |
[INFO] [stderr] 232 |         assert_eq!(Utc.ymd(2038, 1, 19).and_hms(3, 14, 7), id.timestamp());
[INFO] [stderr]     |                                         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stderr]    --> src/object_id.rs:236:24
[INFO] [stderr]     |
[INFO] [stderr] 236 |         assert_eq!(Utc.ymd(2038, 1, 19).and_hms(3, 14, 8), id.timestamp());
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stderr]    --> src/object_id.rs:236:41
[INFO] [stderr]     |
[INFO] [stderr] 236 |         assert_eq!(Utc.ymd(2038, 1, 19).and_hms(3, 14, 8), id.timestamp());
[INFO] [stderr]     |                                         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stderr]    --> src/object_id.rs:240:24
[INFO] [stderr]     |
[INFO] [stderr] 240 |         assert_eq!(Utc.ymd(2106, 2, 7).and_hms(6, 28, 15), id.timestamp());
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stderr]    --> src/object_id.rs:240:40
[INFO] [stderr]     |
[INFO] [stderr] 240 |         assert_eq!(Utc.ymd(2106, 2, 7).and_hms(6, 28, 15), id.timestamp());
[INFO] [stderr]     |                                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `mybatis` (lib) generated 73 warnings (run `cargo fix --lib -p mybatis` to apply 57 suggestions)
[INFO] [stderr] warning: `mybatis` (lib test) generated 81 warnings (73 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-core v0.5.13
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mybatis-baeb43e585e7d92c)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test object_id::test::test_display ... ok
[INFO] [stdout] test object_id::test::test_new ... ok
[INFO] [stdout] test snowflake::test::test_gen ... ok
[INFO] [stdout] test object_id::test::test_timestamp ... ok
[INFO] [stdout] test object_id::test::test_debug ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mybatis
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "baa8bec7d5e8093f24c3227a80f589e98433bb5371c35fc8bd8b4e40bba380f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "baa8bec7d5e8093f24c3227a80f589e98433bb5371c35fc8bd8b4e40bba380f1", kill_on_drop: false }`
[INFO] [stdout] baa8bec7d5e8093f24c3227a80f589e98433bb5371c35fc8bd8b4e40bba380f1
